Unary numeral system

Numeral systems by culture
Hindu-Arabic numerals
Western Arabic (Hindu numerals)
Eastern Arabic
Indian family
Tamil
Burmese
Khmer
Lao
Mongolian
Thai
East Asian numerals
Chinese
Japanese
Suzhou
Korean
Vietnamese
Counting rods
Alphabetic numerals
Abjad
Armenian
Āryabhaṭa
Cyrillic
Ge'ez
Greek
Georgian
Hebrew
Other systems
Aegean
Attic
Babylonian
Brahmi
Egyptian
Etruscan
Inuit
Kharosthi
Mayan
Quipu
Roman
Sumerian
Urnfield
List of numeral system topics
Positional systems by base
Decimal (10)
2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 20, 24, 30, 36, 60, 64
Non-positional system
Unary numeral system (Base 1)
List of numeral systems

The unary numeral system is the bijective base-1 numeral system. It is the simplest numeral system to represent natural numbers: in order to represent a number N, an arbitrarily chosen symbol representing 1 is repeated N times. For example, using the symbol | (a tally mark), the number 6 is represented as ||||||. The standard method of counting on one's fingers is effectively a unary system. Unary is most useful in counting or tallying ongoing results, such as the score in a game of sports, since no intermediate results need to be erased or discarded.

Contents

Clustering

Marks are typically clustered in groups of five for legibility. This is similar to the practice of using digit group separators such as spaces or commas in the decimal system, to make large numbers such as 100,000,000 easier to read. The first or fifth mark in each group may be written at an angle to the others for easier distinction. In the fourth example depicted at left, the fifth stroke "closes out" a group of five, and is sometimes nicknamed the "herringbone" method of counting. In Brazil but also France, a variation of this system is commonly used: Similar to the "herringbone" method, four marks are arranged to form a square, with the fifth mark crossing the square diagonally instead of arranging "sticks" in linear fashion.

Another example of a unary counting system clustered in counts of five is the Chinese, Japanese and Korean custom of writing the Chinese character, Korean Hanja character, or Japanese kanji character 正 which takes 5 strokes to write, one stroke each time something is added.

Operations

Addition and subtraction are particularly simple in the unary system, as they involve little more than string concatenation. Multiplication and division are more cumbersome, however.

Comparison with other systems

There is no explicit symbol representing zero in unary as there is in other traditional bases, so unary is a bijective numeration system with a single digit. If there were a 'zero' symbol, unary would effectively be a binary system. In a true unary system there is no way to explicitly represent none of something, though simply making no marks represents it implicitly. Even in advanced tallying systems like Roman numerals there is no zero character, instead the Latin word for 'nothing,' nullae, is used.

Uses

In ancient mathematics

For a real example of the unary system in ancient mathematics, see the Moscow Mathematical Papyrus, dating from circa 1800 BC.

In computer algorithms

Unary is used as part of some data compression algorithms; see Golomb coding for an example. Compared to standard positional numeral systems, the unary system is inconvenient and is not used in practice for large calculations. It occurs in some decision problem descriptions in theoretical computer science (e.g. some P-complete problems), where it is used to "artificially" decrease the run-time or space requirements of a problem. For instance, the problem of integer factorization is suspected to require more than a polynomial function of the length of the input as run-time if the input is given in binary, but it only needs linear runtime if the input is presented in unary. But this is potentially misleading: using a unary input is slower for any given number, not faster; the distinction is that a binary (or larger base) input is proportional to the base 2 (or larger base) logarithm of the number while unary input is proportional to the number itself; so while the run-time and space requirement in unary looks better as function of the input size, it is a worse function of the number that the input represents.

See also

External links